this patch is not in PKGBUILD yet

Loading9 is in effect for me
made this for my slow desktop which seemingly uses USB1 speed of 12Mbps
which seems to be at most 700KiB/sec for 12MiB takes 18-19 sec

diff --git a/com32/elflink/ldlinux/kernel.c b/com32/elflink/ldlinux/kernel.c
index f3ba37f..e19dfb0 100644
--- a/com32/elflink/ldlinux/kernel.c
+++ b/com32/elflink/ldlinux/kernel.c
@@ -60,11 +60,11 @@ int new_linux_kernel(char *okernel, char *ocmdline)
 		opt_quiet = true;
 
 	if (!opt_quiet)
-		printf("Loading %s... ", kernel_name);
+		printf("Loading7 %s... ", kernel_name);
 
 	if (loadfile(kernel_name, &kernel_data, &kernel_len)) {
 		if (opt_quiet)
-			printf("Loading %s ", kernel_name);
+			printf("Loading8 %s ", kernel_name);
 		printf("failed: ");
 		goto bail;
 	}
@@ -103,11 +103,11 @@ int new_linux_kernel(char *okernel, char *ocmdline)
 		    temp += n;
 
 		    if (!opt_quiet)
-			printf("Loading %s...", initrd_name);
+			printf("Loading9 %s...", initrd_name);
 
 		    if (initramfs_load_archive(initramfs, initrd_name)) {
 			if (opt_quiet)
-			    printf("Loading %s ", initrd_name);
+			    printf("LoadingA %s ", initrd_name);
 			free(initrd_name);
 			printf("failed: ");
 			goto bail;
diff --git a/com32/gfxboot/gfxboot.c b/com32/gfxboot/gfxboot.c
index f67132c..ef60a56 100644
--- a/com32/gfxboot/gfxboot.c
+++ b/com32/gfxboot/gfxboot.c
@@ -541,7 +541,7 @@ int gfx_init(char *file)
   memset(&r,0,sizeof(r));
   progress_active = 0;
 
-  printf("Loading %s...\n", file);
+  printf("Loading6 %s...\n", file);
   if(loadfile(file, &archive, &archive_size)) return 1;
 
   if(!archive_size) return 1;
diff --git a/com32/lib/fread.c b/com32/lib/fread.c
index 94e9cff..226c04e 100644
--- a/com32/lib/fread.c
+++ b/com32/lib/fread.c
@@ -13,6 +13,7 @@ size_t _fread(void *buf, size_t count, FILE * f)
     char *p = buf;
 
     while (count) {
+      printf("reading %zu bytes, bytes thus far %zu\n", count, bytes);
 	rv = read(fileno(f), p, count);
 	if (rv == -1) {
 	    if (errno == EINTR || errno == EAGAIN)
diff --git a/com32/lib/syslinux/floadfile.c b/com32/lib/syslinux/floadfile.c
index ece460d..2b40805 100644
--- a/com32/lib/syslinux/floadfile.c
+++ b/com32/lib/syslinux/floadfile.c
@@ -40,7 +40,7 @@
 
 #include <syslinux/loadfile.h>
 
-#define INCREMENTAL_CHUNK 1024*1024
+#define INCREMENTAL_CHUNK 1024*1024*12
 
 int floadfile(FILE * f, void **ptr, size_t * len, const void *prefix,
 	      size_t prefix_len)
@@ -49,13 +49,15 @@ int floadfile(FILE * f, void **ptr, size_t * len, const void *prefix,
     void *data, *dp;
     size_t alen, clen, rlen, xlen;
 
+    printf("in freakin floadfile:\n");
     clen = alen = 0;
     data = NULL;
 
     if (fstat(fileno(f), &st))
 	goto err;
 
-    if (!S_ISREG(st.st_mode)) {
+    if (S_ISREG(st.st_mode)) {
+      printf("not a regular file\n");
 	/* Not a regular file, we can't assume we know the file size */
 	if (prefix_len) {
 	    clen = alen = prefix_len;
@@ -74,6 +76,9 @@ int floadfile(FILE * f, void **ptr, size_t * len, const void *prefix,
 	    data = dp;
 
 	    rlen = fread((char *)data + clen, 1, alen - clen, f);
+	    //rlen = (alen-clen) * fread((char *)data + clen, alen-clen, 1, f);
+      printf("rlen: %zu alen: %zu clen: %zu  alen-clen: %zu\n", rlen, alen, clen, alen - clen);
+      fflush(stdout);
 	    clen += rlen;
 	} while (clen == alen);
 
@@ -83,7 +88,9 @@ int floadfile(FILE * f, void **ptr, size_t * len, const void *prefix,
 	if (dp)
 	    data = dp;
 	*ptr = data;
+
     } else {
+      printf("Regular file\n");
 	*len = clen = st.st_size + prefix_len - ftell(f);
 	xlen = (clen + LOADFILE_ZERO_PAD - 1) & ~(LOADFILE_ZERO_PAD - 1);
 
@@ -93,15 +100,22 @@ int floadfile(FILE * f, void **ptr, size_t * len, const void *prefix,
 
 	memcpy(data, prefix, prefix_len);
 
+  //read 1 byte sized blocks, (clen - prefix_len) times; yep smart!
+  printf("Before long fread,  prefix_len: %zu clen: %zu  difference: %zd \n", prefix_len, clen, clen - prefix_len);
 	if ((off_t) fread((char *)data + prefix_len, 1, clen - prefix_len, f)
 	    != clen - prefix_len)
 	    goto err;
+
+  printf("After long fread\n");
     }
 
+  //pad with zeroes
+    printf("padding with zeroes\n");
     memset((char *)data + clen, 0, xlen - clen);
     return 0;
 
 err:
+    printf("oout of floadfile:\n");
     if (data)
 	free(data);
     return -1;
diff --git a/com32/mboot/mboot.c b/com32/mboot/mboot.c
index 10e6701..1110cd0 100644
--- a/com32/mboot/mboot.c
+++ b/com32/mboot/mboot.c
@@ -112,7 +112,7 @@ static int get_modules(char **argv, struct module_data **mdp)
     while (*argp) {
 	/* Note: it seems Grub transparently decompresses all compressed files,
 	   not just the primary kernel. */
-	printf("Loading %s... ", *argp);
+	printf("LoadingB %s... ", *argp);
 	rv = zloadfile(*argp, &mp->data, &mp->len);
 
 	if (rv) {
diff --git a/com32/modules/linux.c b/com32/modules/linux.c
index f657eab..3a01e5d 100644
--- a/com32/modules/linux.c
+++ b/com32/modules/linux.c
@@ -217,7 +217,7 @@ static int process_initramfs_args(char *arg, struct initramfs *initramfs,
 	errno = 0;
 	if (ldinitramfs(initramfs, arg)) {
 	    if (opt_quiet)
-		printf("Loading %s ", kernel_name);
+		printf("Loading1 %s ", kernel_name);
 	    printf("failed: ");
 	    return 1;
 	}
@@ -236,11 +236,11 @@ static int setup_data_file(struct setup_data *setup_data,
 			   bool opt_quiet)
 {
     if (!opt_quiet)
-	printf("Loading %s... ", filename);
+	printf("Loading2 %s... ", filename);
 
     if (setup_data_load(setup_data, type, filename)) {
 	if (opt_quiet)
-	    printf("Loading %s ", filename);
+	    printf("Loading3 %s ", filename);
 	printf("failed\n");
 	return -1;
     }
@@ -303,11 +303,11 @@ int main(int argc, char *argv[])
 	opt_quiet = true;
 
     if (!opt_quiet)
-	printf("Loading %s... ", kernel_name);
+	printf("Loading4 %s... ", kernel_name);
     errno = 0;
     if (loadfile(kernel_name, &kernel_data, &kernel_len)) {
 	if (opt_quiet)
-	    printf("Loading %s ", kernel_name);
+	    printf("Loading5 %s ", kernel_name);
 	printf("failed: ");
 	goto bail;
     }
diff --git a/mk/syslinux.mk b/mk/syslinux.mk
index 337560b..b42da2e 100644
--- a/mk/syslinux.mk
+++ b/mk/syslinux.mk
@@ -24,7 +24,7 @@ LIBDIR   = /usr/lib
 DATADIR  = /usr/share
 AUXDIR   = $(DATADIR)/syslinux
 DIAGDIR  = $(AUXDIR)/diag
-MANDIR	 = /usr/man
+MANDIR	 = /usr/share/man
 INCDIR   = /usr/include
 TFTPBOOT = /tftpboot
 COM32DIR = $(AUXDIR)/com32
@@ -90,7 +90,7 @@ UMAKEDEPS = -Wp,-MT,$@,-MMD,$(dir $@).$(notdir $@).d
 
 # Items that are only appropriate during development; this file is
 # removed when tarballs are generated.
--include $(MAKEDIR)/devel.mk
+
 
 # Local additions, like -DDEBUG can go here
 -include $(MAKEDIR)/local.mk
